package com.duobaoyu.dby.supply.biz.client.resource.bean.dto;

import com.duobaoyu.dby.channel.adapter.enums.biz.refund.AfterSaleTypeEnum;
import com.duobaoyu.dby.common.core.validator.groups.Add;
import com.duobaoyu.dby.common.core.validator.groups.Edit;
import com.duobaoyu.dby.common.mybatis.support.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @Author tianxiaoqiang
 * @Date 2022/7/29 19:48
 * @Version 1.0
 * @Description 售后原因入参
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class AfterSaleReasonDTO extends Query implements Serializable {
	private static final long serialVersionUID = -8293143792556123043L;
	/**
	 * 原因ID
	 */
	@NotNull(message = "原因ID不能为空",groups = {Edit.class})
	private Long id;
	/**
	 * 所属的售后类型 1->退货退款;2->换货；3->维修；4->仅退款
	 * @see AfterSaleTypeEnum
	 */
	@ApiModelProperty(value = "所属的售后类型 1->退货退款;2->换货；3->维修；4->仅退款")
	@NotNull(message = "所属的售后类型不可为空",groups = {Add.class, Edit.class})
	private Integer afterSaleType;
	/**
	 * 售后原因编码
	 */
	@ApiModelProperty(value = "售后原因编码")
	private String reasonCode;
	/**
	 * 售后原因说明
	 */
	@ApiModelProperty(value = "售后原因说明")
	@NotBlank(message = "售后原因说明不可为空",groups = {Add.class, Edit.class})
	private String reasonName;
	/**
	 * 排序
	 */
	@ApiModelProperty(value = "排序")
	@NotNull(message = "排序说明不可为空",groups = {Add.class, Edit.class})
	private Integer sort;
	/**
	 * 状态：0->不启用；1->启用
	 */
	@ApiModelProperty(value = "状态：0->不启用；1->启用")
	private Integer status;
}
